* PASCAL-PMD V1.02A *
----------------------

Klucove slova (* - nie su obsiahnute v referencnom jazyku)
-----------------------------------------------------------

*ABSOLUTE - direktiva pre deklaraciu premennej na absolutnu adresu
AND - logicky sucin dvoch operandov
ARRAY - klucove slovo definicie pola
BEGIN - oznacenie zaciatku bloku prikazov
*BREAK - ukonci prikaz cyklu
CASE - prikaz vetvenia
CONST - klucove slovo pre definiciu konstanty
DIV - celociselne delenie
DO - klucove slovo "rob" pre prikazy cyklu WHILE a FOR
DOWNTO - oznacenie koncovej hodnoty cyklu FOR, ak sa ma riadiaca premenna dekrementovat
ELSE - vetva podmieneneho prikazu "if" pri nesplnenej podmienke, alebo posledna vetva prikazu vetvenia "case"
END - oznacenie konca programu, procedury, funkcie alebo bloku prikazov
EXIT - ukonci predcasne proceduru alebo funkciu
FOR - prikaz cyklu
FORWARD - direktiva pre oznacenie doprednej definicie hlavicky funkcie alebo procedury
FUNCTION - klucove slovo definicie funkcie
GOTO - skok na definovane navestie
HALT - ukonci predcasne program (i v procedure alebo funkcii)
IF - podmieneny prikaz
MOD - zbytok po celoiselnom deleni
NOT - negacia logickeho vyrazu
OF - 
OR - logicky sucet dvoch operandov
*OTHERWISE -
PROCEDURE - klucove slovo definicie procedury
PROGRAM - klucove slovo zaciatku programu
REPEAT - podmieneny prikaz cyklu s podmienkou na konci (UNTIL)
THEN - vetva podmieneneho prikazu pri splnenej podmienke
TO - oznacenie koncovej hodnoty cyklu FOR, ak sa ma riadiaca premenna inkrementovat
TYPE - klucove slovo pre definiciu noveho typu
UNTIL - ukoncuje podmieneny cyklus REPEAT a definuje jeho podmienku
VAR - klucove slovo pre definiciu premennej
WHILE - podmieneny prikaz cyklu s podmienkou na zaciatku
*XOR - vyhradny logicky sucet dvoch operandov


Prikazy pre vstup a vystup
---------------------------

READ - citanie zo vstupu
READLN - citanie zo vstupu do konca riadka
WRITE - tlac na vystup (obrazovku)
WRITELN - tlac na vystup (obrazovku) s prechodom na novy riadok


Operatory
----------

+  - sucet
-  - rozdiel
*  - nasobenie
/  - delenie
.. - interval
<= - mensie alebo rovne
>= - vacsie alebo rovne
<> - nerovne (rozne)
:= - prikaz priradenia


Datove typy
------------

BOOLEAN - typ "logicka hodnota" { TRUE, FALSE }
CHAR - typ "znak"
INTEGER - typ "cele cislo" { -32768, 32767 }
REAL - typ "realne cislo"


Konstanty
----------

FALSE - Boolean konstanta "NEPRAVDA"
MAXINT - maximalna hodnota typu INTEGER { 32767 }
TRUE - Boolean konstanta "PRAVDA"


Funkcie
--------

ABS(N) - funkcia vrati absolutnu hodnotu cisla N
*ADR - 
ARCTAN(N) - vrati arcustangens N
CHR(I) - vrati CHAR s kodom I (I je INTEGER)
COS(N) - vrati cosinus uhla N (N musi byt v radianoch)
EOF - funkcia bez parametrov - vrati BOOLEAN TRUE pri dosiahnuti konca suboru (vstupu)
EOLN - funkcia bez parametrov - vrati BOOLEAN TRUE pri dosiahnuti konca riadku
EXP(N) - funkcia vrati e^N (N-ta mocnina zakladu prirodzeneho logaritmu)
*INP(P) - funkcia vrati hodnotu na porte P
INT(N) - vrati celu cast cisla N ako REAL
*KEYPRESSED - funkcia bez parametrov - vrati BOOLEAN TRUE, ak bola v okamihu jej vykonania stlacena nejaka klavesa
LN(N) - funkcia vrati prirodzeny logaritmus ln(N)
ODD(N) - vrati BOOLEAN TRUE, ak je cislo neparne
ORD(C) - vrati ASCII kod znaku C ako INTEGER (C je typu CHAR)
PRED(C) - vrati znak pred znakom C
RAND(X) - funkcia vrati pseudonahodne cele cislo v intervale <0,X)
*READKEY - funkcia bez parametrov - caka na stlacenie klavesy a vrati jej kod ako CHAR
ROUND(R) - funkcia vrati zaokruhlenu celu cast cisla R ako INTEGER
SIN(N) - vrati sinus uhla N (N musi byt v radianoch)
SQR(N) - funkcia vrati druhu mocninu cisla N
SQRT(N) - funkcia vrati druhu odmocninu cisla N
SUCC(C) - vrati nasledujuci znak za znakom C
TRUNC(R) - funkcia vrati celu cast cisla R (oreze jeho desatinnu cast) ako INTEGER
*USR - 


Prikazy
--------

BPLOT(X,Y,C) - zobrazi "sprite" na poziciu X,Y, kde X je znakovy stlpec z intervalu 0 az 47, Y je mikroriadok z intervalu 0 az 255. Pozicia 0,0 je v lavom hornom rohu. C je pole CHARov, v ktorom su data sprajtu. Prvy byte pola obsahuje pocet grafickych dat sprajtu, teda sirka v znakovych poziciach krat vyska v mikroriadkoch. Druhy byte obsahuje sirku sprajtu v stlpcoch. Ostatne data pola predstavuju samotne graficke data sprajtu. Sprajt je zobrazovany z lava do prava a z hora dolu. 0-ty bit bytu je vlavo. Sprajt svojou velkostou nesmie presiahnut pravy alebo dolny okraj obrazovky.
GOTOXY(X,Y) - nastavi textovy kruzor na poziciu X,Y. Pozicia 0,0 je v lavom hornom rohu.
IDRAW(X,Y) - vykresli ciaru od aktualneho bodu do bodu X,Y
IMOVE(X,Y) - nastavi graficky kurzor na poziciu X,Y. Velkost grafickej plochy je 256x256 bodov. Pozicia 0,0 je v lavom dolnom rohu.
IPLOT(X,Y) - zobrazi bod na grafickej pozicii X,Y
OUT(P,X) - posle na port P hodnotu X
PAGE - prikaz bez parametrov - zmaze obrazovku
PEN(X) - nastavi farebny mod X podobne ako v Basicu
SETOUTPUT - 
